﻿// Decompiled with JetBrains decompiler
// Type: DnProcessSimulateCommands.ContinuousMacro.CApCMDisplayContinuousMacrosEnabler
// Assembly: DnProcessSimulateCommands, Version=2402.0.0.890, Culture=neutral, PublicKeyToken=null
// MVID: A885D881-AEDF-447E-852A-6F13102E089C
// Assembly location: C:\Program Files\Tecnomatix_2402\eMPower\DotNetCommands\DnProcessSimulateCommands.dll

using System.Collections.ObjectModel;
using Tecnomatix.Engineering;


namespace DnProcessSimulateCommands.ContinuousMacro;

public class CApCMDisplayContinuousMacrosEnabler : ITxCommandEnabler
{
  private CApCMDisplayContinuousMacrosCmd parentCommand;

  public CApCMDisplayContinuousMacrosEnabler(CApCMDisplayContinuousMacrosCmd parentCommand)
  {
    this.parentCommand = parentCommand;
  }

  public bool Enable
  {
    get
    {
      if (this.parentCommand.IsPushed)
        return true;
      foreach (ITxObject itxObject in (Collection<ITxObject>) TxApplication.ActiveSelection.GetItems())
      {
        TxRoboticViaLocationOperation viaLocation = itxObject as TxRoboticViaLocationOperation;
        if (TxRoboticViaLocationOperation.op_Inequality(viaLocation, (ITxObject) null) && viaLocation.ParentRoboticOperation is ITxContinuousOperation && CApCMMacroShape.ViaContainsMacro(viaLocation))
          return true;
      }
      return false;
    }
  }
}
